﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Collections;
using DTO;
namespace DAO
{
    public class CKHACHTHUEDAO : AbstractDao
    {
        // Hàm lấy thông tin 1 khách thuê bất kỳ để xử lý
        //public static CKHACHTHUEDTO LayThongTinKhachThue(int MaKhachThue)
        //{
        //    CKHACHTHUEDTO khachthueDto = new CKHACHTHUEDTO();
        //    OleDbConnection cn = new OleDbConnection();
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    String strSQL = "Select * From KHACHTHUE where MaKhachThue=" + MaKhachThue.ToString();
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    OleDbDataReader myReader = cmd.ExecuteReader();
        //    while (myReader.Read())
        //    {
        //        khachthueDto.MaKhachThue = int.Parse(myReader[0].ToString());
        //        khachthueDto.TenKhachThue = myReader[1].ToString();
        //        khachthueDto.NgaySinh = DateTime.Parse(myReader[2].ToString());
        //        khachthueDto.CMND = myReader[3].ToString();
        //        khachthueDto.DiaChi = myReader[4].ToString();
        //        khachthueDto.DienThoai = myReader[5].ToString();
        //        khachthueDto.GioiTinh = myReader[6].ToString();
        //        khachthueDto.TinhTrang = bool.Parse(myReader[7].ToString());
        //        khachthueDto.MaLoaiKhachThue = int.Parse(myReader[8].ToString());
        //        khachthueDto.MaPhieuThue = int.Parse(myReader[9].ToString());
        //    }
        //    myReader.Close();
        //    cn.Close();
        //    return khachthueDto;
        //}
        ////Hàm lấy danh sách tất cả các khách thuê để xử lý
        public static List<CKHACHTHUEDTO> LayDanhSachKhachThue()
        {
            List<CKHACHTHUEDTO> ds = new List<CKHACHTHUEDTO>();
            OleDbConnection cn = new OleDbConnection();
            cn = CKHACHTHUEDAO.ConnectionData();
            String strSQL = "Select * From KHACHTHUE";
            OleDbCommand cmd = new OleDbCommand(strSQL, cn);
            OleDbDataReader myReader = cmd.ExecuteReader();
            while (myReader.Read())
            {
                CKHACHTHUEDTO khachthueDto = new CKHACHTHUEDTO();
                khachthueDto.MaKhachThue = int.Parse(myReader[0].ToString());
                khachthueDto.TenKhachThue = myReader[1].ToString();
                khachthueDto.NgaySinh = DateTime.Parse(myReader[2].ToString());
                khachthueDto.CMND = myReader[3].ToString();
                khachthueDto.DiaChi = myReader[4].ToString();
                khachthueDto.DienThoai = myReader[5].ToString();
                khachthueDto.GioiTinh = myReader[6].ToString();
                khachthueDto.TinhTrang = bool.Parse(myReader[7].ToString());
                khachthueDto.MaLoaiKhachThue = int.Parse(myReader[8].ToString());
                khachthueDto.MaPhieuThue = int.Parse(myReader[9].ToString());
                ds.Add(khachthueDto);
            }
            myReader.Close();
            cn.Close();
            return ds;
        }

        //// Hàm lấy danh sách tất cả các khách thuê đã đánh dấu xóa dùng để xử lý
        //public static List<CKHACHTHUEDTO> LayDanhSachKhachThueDaDanhDauXoa()
        //{
        //    List<CKHACHTHUEDTO> ds = new List<CKHACHTHUEDTO>();
        //    OleDbConnection cn = new OleDbConnection();
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    String strSQL = "Select * From KHACHTHUE where TinhTrang=true";
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    OleDbDataReader myReader = cmd.ExecuteReader();
        //    while (myReader.Read())
        //    {
        //        CKHACHTHUEDTO khachthueDto = new CKHACHTHUEDTO();
        //        khachthueDto.MaKhachThue = int.Parse(myReader[0].ToString());
        //        khachthueDto.TenKhachThue = myReader[1].ToString();
        //        khachthueDto.NgaySinh = DateTime.Parse(myReader[2].ToString());
        //        khachthueDto.CMND = myReader[3].ToString();
        //        khachthueDto.DiaChi = myReader[4].ToString();
        //        khachthueDto.DienThoai = myReader[5].ToString();
        //        khachthueDto.GioiTinh = myReader[6].ToString();
        //        khachthueDto.TinhTrang = bool.Parse(myReader[7].ToString());
        //        khachthueDto.MaLoaiKhachThue = int.Parse(myReader[8].ToString());
        //        khachthueDto.MaPhieuThue = int.Parse(myReader[9].ToString());
        //        ds.Add(khachthueDto);
        //    }
        //    myReader.Close();
        //    cn.Close();
        //    return ds;
        //}
        //// Hàm lấy danh sách tất cả các khách thuê chưa đánh dấu xóa dùng để xử lý
        //public static List<CKHACHTHUEDTO> LayDanhSachKhachThueChuaDanhDauXoa()
        //{
        //    List<CKHACHTHUEDTO> ds = new List<CKHACHTHUEDTO>();
        //    OleDbConnection cn = new OleDbConnection();
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    String strSQL = "Select * From KHACHTHUE where TinhTrang=false";
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    OleDbDataReader myReader = cmd.ExecuteReader();
        //    while (myReader.Read())
        //    {
        //        CKHACHTHUEDTO khachthueDto = new CKHACHTHUEDTO();
        //        khachthueDto.MaKhachThue = int.Parse(myReader[0].ToString());
        //        khachthueDto.TenKhachThue = myReader[1].ToString();
        //        khachthueDto.NgaySinh = DateTime.Parse(myReader[2].ToString());
        //        khachthueDto.CMND = myReader[3].ToString();
        //        khachthueDto.DiaChi = myReader[4].ToString();
        //        khachthueDto.DienThoai = myReader[5].ToString();
        //        khachthueDto.GioiTinh = myReader[6].ToString();
        //        khachthueDto.TinhTrang = bool.Parse(myReader[7].ToString());
        //        khachthueDto.MaLoaiKhachThue = int.Parse(myReader[8].ToString());
        //        khachthueDto.MaPhieuThue = int.Parse(myReader[9].ToString());
        //        ds.Add(khachthueDto);
        //    }
        //    myReader.Close();
        //    cn.Close();
        //    return ds;
        //}
        //// Hàm lấy danh sách các khách thuê phòng cùng 1 phiếu thuê để dùng cho việc xử lý
        public static List<CKHACHTHUEDTO> LayDanhSachKhachThueTheoPhieuThue(int MaPhieuThue)
        {
            List<CKHACHTHUEDTO> ds = new List<CKHACHTHUEDTO>();
            OleDbConnection cn = new OleDbConnection();
            cn = CKHACHTHUEDAO.ConnectionData();
            String strSQL = "Select * From KHACHTHUE where MaPhieuThue=" + MaPhieuThue.ToString();
            OleDbCommand cmd = new OleDbCommand(strSQL, cn);
            OleDbDataReader myReader = cmd.ExecuteReader();
            while (myReader.Read())
            {
                CKHACHTHUEDTO khachthueDto = new CKHACHTHUEDTO();
                khachthueDto.MaKhachThue = int.Parse(myReader[0].ToString());
                khachthueDto.TenKhachThue = myReader[1].ToString();
                khachthueDto.NgaySinh = DateTime.Parse(myReader[2].ToString());
                khachthueDto.CMND = myReader[3].ToString();
                khachthueDto.DiaChi = myReader[4].ToString();
                khachthueDto.DienThoai = myReader[5].ToString();
                khachthueDto.GioiTinh = myReader[6].ToString();
                khachthueDto.TinhTrang = bool.Parse(myReader[7].ToString());
                khachthueDto.MaLoaiKhachThue = int.Parse(myReader[8].ToString());
                khachthueDto.MaPhieuThue = int.Parse(myReader[9].ToString());
                ds.Add(khachthueDto);
            }
            myReader.Close();
            cn.Close();
            return ds;
        }
        // Hàm lấy danh sách các khách thuê phòng cùng 1 phiếu thuê để dùng cho việc xử lý
        //public static List<CKHACHTHUEDTO> LayDanhSachKhachThueTheoLoaiKhachThue(int MaLoaiKhachThue)
        //{
        //    List<CKHACHTHUEDTO> ds = new List<CKHACHTHUEDTO>();
        //    OleDbConnection cn = new OleDbConnection();
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    String strSQL = "Select * From KHACHTHUE where MaLoaiKhachThue=" + MaLoaiKhachThue.ToString();
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    OleDbDataReader myReader = cmd.ExecuteReader();
        //    while (myReader.Read())
        //    {
        //        CKHACHTHUEDTO khachthueDto = new CKHACHTHUEDTO();
        //        khachthueDto.MaKhachThue = int.Parse(myReader[0].ToString());
        //        khachthueDto.TenKhachThue = myReader[1].ToString();
        //        khachthueDto.NgaySinh = DateTime.Parse(myReader[2].ToString());
        //        khachthueDto.CMND = myReader[3].ToString();
        //        khachthueDto.DiaChi = myReader[4].ToString();
        //        khachthueDto.DienThoai = myReader[5].ToString();
        //        khachthueDto.GioiTinh = myReader[6].ToString();
        //        khachthueDto.TinhTrang = bool.Parse(myReader[7].ToString());
        //        khachthueDto.MaLoaiKhachThue = int.Parse(myReader[8].ToString());
        //        khachthueDto.MaPhieuThue = int.Parse(myReader[9].ToString());
        //        ds.Add(khachthueDto);
        //    }
        //    myReader.Close();
        //    cn.Close();
        //    return ds;
        //}
        ////Hàm lấy toàn bộ thông tin của tất cả khách thuê lưu trong csdl đổ vào 1 bảng chỉ hiện ra trên giao diện nhưng không dùg xử lý được
        //public static DataTable LayBang()
        //{
        //    DataTable dt = new DataTable();
        //    OleDbConnection cn;
        //    //B1 & B2: Tao chuoi ket noi, mo ket noi bang doi tuong ket noi
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    ////'B3: Tao chuoi strSQL thao tac CSDL
        //    String strSQL;
        //    strSQL = "Select * From KHACHTHUE";
        //    ////'B4: Thuc thi chuoi strSQL
        //    OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);
        //    da.Fill(dt);
        //    ////'B5: Dong ket noi CSDL
        //    cn.Close();
        //    return dt;
        //}
        //Hàm kết hai bảng khách thuê và loại khách thuê, lấy ra 1 số thông tin của tất cả các khách thuê
        //đổ vào vào 1 bảng chỉ hiện ra trên giao diện, không dùng để xử lý
        //public static DataTable LayBangKhachThue()
        //{
        //    DataTable dt = new DataTable();
        //    OleDbConnection cn;
        //    //B1 & B2: Tao chuoi ket noi, mo ket noi bang doi tuong ket noi
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    //B3: Tao chuoi strSQL thao tac CSDL
        //    String strSQL;
        //    strSQL = "Select KHACHTHUE.TenKhachThue,KHACHTHUE.NgaySinh ,KHACHTHUE.CMND,KHACHTHUE.DiaChi,KHACHTHUE.DienThoai,KHACHTHUE.GioiTinh,KHACHTHUE.TinhTrang,LOAIKHACHTHUE.TenLoaiKhachThue,KHACHTHUE.MaPhieuThue From KHACHTHUE,LOAIKHACHTHUE Where KHACHTHUE.MaLoaiKhachThue=LOAIKHACHTHUE.MaLoaiKhachThue";
        //    //B4: Thuc thi chuoi strSQL
        //    OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);
        //    da.Fill(dt);
        //    //B5: Dong ket noi CSDL
        //    cn.Close();
        //    return dt;
        //}

        ////Hàm kết hai bảng khách thuê  và loại khách thuê  .Lấy ra một số thôngt tin các hóa đơn đã đánh dấu xóa 
        //public static DataTable LayBangKhachThueDaDanhDauXoa()
        //{
        //    DataTable dt = new DataTable();
        //    OleDbConnection cn;
        //    //B1 & B2: Tao chuoi ket noi, mo ket noi bang doi tuong ket noi
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    //B3: Tao chuoi strSQL thao tac CSDL
        //    String strSQL;
        //    strSQL = "Select KHACHTHUE.TenKhachThue,KHACHTHUE.NgaySinh,KHACHTHUE.CMND,KHACHTHUE.DiaChi,KHACHTHUE.DienThoai,KHACHTHUE.GioiTinh,KHACHTHUE.TinhTrang,LOAIKHACHTHUE.TenLoaiKhachThue,KHACHTHUE.MaPhieuThue From KHACHTHUE,LOAIKHACHTHUE Where KHACHTHUE.MaLoaiKhachThue=LOAIKHACHTHUE.MaLoaiKhachThue and KHACHTHUE.TinhTrang=true";
        //    //B4: Thuc thi chuoi strSQL
        //    OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);
        //    da.Fill(dt);
        //    //B5: Dong ket noi CSDL
        //    cn.Close();
        //    return dt;
        //}
        ////Hàm kết hai bảng khách thuê  và loại khách thuê  .Lấy ra một số thôngt tin các hóa đơn chưa đánh dấu xóa 
        //public static DataTable LayBangKhachThueChuaDanhDauXoa()
        //{
        //    DataTable dt = new DataTable();
        //    OleDbConnection cn;
        //    //B1 & B2: Tao chuoi ket noi, mo ket noi bang doi tuong ket noi
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    //B3: Tao chuoi strSQL thao tac CSDL
        //    String strSQL;
        //    strSQL = "Select KHACHTHUE.TenKhachThue,KHACHTHUE.NgaySinh,KHACHTHUE.CMND,KHACHTHUE.DiaChi,KHACHTHUE.DienThoai,KHACHTHUE.GioiTinh,KHACHTHUE.TinhTrang,LOAIKHACHTHUE.TenLoaiKhachThue,KHACHTHUE.MaPhieuThue From KHACHTHUE,LOAIKHACHTHUE Where KHACHTHUE.MaLoaiKhachThue=LOAIKHACHTHUE.MaLoaiKhachThue and KHACHTHUE.TinhTrang=false";
        //    //B4: Thuc thi chuoi strSQL
        //    OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);
        //    da.Fill(dt);
        //    //B5: Dong ket noi CSDL
        //    cn.Close();
        //    return dt;
        //}
        ////Hàm kết bảng khách thuê,phiếu thuê và loại khách thuê, lấy 1 số thông tin của tất cả khách thuê cùng 1 phiếu thuê đổ vào vào 1 bảng chỉ hiện ra trên giao diện, không dùng để xử lý
        //public static DataTable LayBangKhachThueTheoPhieuThue(int MaPhieuThue)
        //{
        //    DataTable dt = new DataTable();
        //    OleDbConnection cn;
        //    //B1 & B2: Tao chuoi ket noi, mo ket noi bang doi tuong ket noi
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    //B3: Tao chuoi strSQL thao tac CSDL
        //    String strSQL = "Select  KHACHTHUE.*,LOAIKHACHTHUE.* From KHACHTHUE,LOAIKHACHTHUE,PHIEUTHUE,PHONG Where KHACHTHUE.MaLoaiKhachThue=LOAIKHACHTHUE.MaLoaiKhachThue and PHIEUTHUE.MaPhieuThue=KHACHTHUE.MaPhieuThue and PHIEUTHUE.MaPhong=PHONG.MaPhong and KHACHTHUE.TinhTrang=false and PHIEUTHUE.MaPhieuThue=" + MaPhieuThue.ToString();
        //    //B4: Thuc thi chuoi strSQL
        //    OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);
        //    da.Fill(dt);
        //    //B5: Dong ket noi CSDL
        //    cn.Close();
        //    return dt;
        //}
        ////Hàm kết bảng khách thuê,phiếu thuê và loại khách thuê, lấy 1 số thông tin của tất cả khách thuê cùng 1 phiếu thuê đổ vào vào 1 bảng chỉ hiện ra trên giao diện, không dùng để xử lý
        //public static DataTable LayBangKhachThueTheoLoaiKhachThue(int MaLoaiKhachThue)
        //{
        //    DataTable dt = new DataTable();
        //    OleDbConnection cn;
        //    //B1 & B2: Tao chuoi ket noi, mo ket noi bang doi tuong ket noi
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    //B3: Tao chuoi strSQL thao tac CSDL
        //    String strSQL = "Select  KHACHTHUE.TenKhachThue,KHACHTHUE.NgaySinh,LOAIKHACHTHUE.TenLoaiKhachThue,KHACHTHUE.CMND,KHACHTHUE.DiaChi,KHACHTHUE.DienThoai,PHONG.TenPhong,PHIEUTHUE.NgayBatDau From KHACHTHUE,LOAIKHACHTHUE,PHIEUTHUE,PHONG Where KHACHTHUE.MaLoaiKhachThue=LOAIKHACHTHUE.MaLoaiKhachThue and PHIEUTHUE.MaPhieuThue=KHACHTHUE.MaPhieuThue and PHIEUTHUE.MaPhong=PHONG.MaPhong and LOAIKHACHTHUE.MaLoaiKhachThue=" + MaLoaiKhachThue.ToString();
        //    //B4: Thuc thi chuoi strSQL
        //    OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);
        //    da.Fill(dt);
        //    //B5: Dong ket noi CSDL
        //    cn.Close();
        //    return dt;
        //}
        //Thêm 1 khách thuê
        public void ThemKhachThue(CKHACHTHUEDTO khachthueDto)
        {
            OleDbConnection cn;
            cn = CKHACHTHUEDAO.ConnectionData();
            String strSQL = "Insert into KHACHTHUE(TenKhachThue,NgaySinh,CMND,DiaChi,DienThoai,GioiTinh,TinhTrang,MaLoaiKhachThue,MaPhieuThue) values (?,?,?,?,?,?,?,?,?)";
            OleDbCommand cmd = new OleDbCommand(strSQL, cn);
            cmd.Parameters.Add("@TenKhachThue", OleDbType.WChar);
            cmd.Parameters.Add("@NgaySinh", OleDbType.Date);
            cmd.Parameters.Add("@CMND", OleDbType.WChar);
            cmd.Parameters.Add("@DiaChi", OleDbType.WChar);
            cmd.Parameters.Add("@DienThoai", OleDbType.WChar);
            cmd.Parameters.Add("@GioiTinh", OleDbType.WChar);
            cmd.Parameters.Add("@TinhTrang", OleDbType.Boolean);
            cmd.Parameters.Add("@MaLoaiKhachThue", OleDbType.Integer);
            cmd.Parameters.Add("@MaPhieuThue", OleDbType.Integer);
            cmd.Parameters[0].Value = khachthueDto.TenKhachThue;
            cmd.Parameters[1].Value = khachthueDto.NgaySinh;
            cmd.Parameters[2].Value = khachthueDto.CMND;
            cmd.Parameters[3].Value = khachthueDto.DiaChi;
            cmd.Parameters[4].Value = khachthueDto.DienThoai;
            cmd.Parameters[5].Value = khachthueDto.GioiTinh;
            cmd.Parameters[6].Value = khachthueDto.TinhTrang;
            cmd.Parameters[7].Value = khachthueDto.MaLoaiKhachThue;
            cmd.Parameters[8].Value = khachthueDto.MaPhieuThue;
            cmd.ExecuteNonQuery();
            //strSQL = "Select @@IDENTITY";
            ////cmd = new OleDbCommand(strSQL, cn);
            ////lndDto.MaLoaiNguoiDung = (int)cmd.ExecuteScalar();
            cn.Close();
        }
        //Hàm đánh dấu xóa thông tin một khách thuê hoặc phục hồi lại
        //public static void CapNhatTinhTrangKhachThue(int MaKhachThue, bool TinhTrang)
        //{
        //    OleDbConnection cn;
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    string strSQL = "UPDATE KHACHTHUE SET TinhTrang=? WHERE (MaKhachThue=?)";
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    cmd.Parameters.Add("@TinhTrang", OleDbType.Boolean);
        //    cmd.Parameters.Add("@MaKhachThue", OleDbType.Integer);
        //    cmd.Parameters[0].Value = TinhTrang;
        //    cmd.Parameters[1].Value = MaKhachThue;
        //    cmd.ExecuteNonQuery();
        //    cn.Close();
        //}
        ////Hàm xóa vĩnh viễn thông tin 1 khách thuê
        //public static void XoaKhachThue(int MaKhachThue)
        //{
        //    //Tao chuoi ket noi, mo ket noi bang doi tuong ket noi
        //    OleDbConnection cn;
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    // chuoi strSQL thao tac CSDL
        //    String strSQL = "DELETE FROM KHACHTHUE WHERE MaKhachThue=?";
        //    //B4: Thuc thi chuoi strSQL
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    //add vao cmd để tránh bị sai sót khi gán thuộc tính bằng 1 giá trị cụ thể
        //    cmd.Parameters.Add("@MaKhachThue", OleDbType.Integer);
        //    cmd.Parameters[0].Value = MaKhachThue;
        //    cmd.ExecuteNonQuery();
        //    //đóng kết nối
        //    cn.Close();
        //}

        ////Hàm cập nhật 1 số thong tin khách thuê
        //public void CapNhatThongTinKhachThue(CKHACHTHUEDTO khachthueDto)
        //{
        //    OleDbConnection cn;
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    String strSQL = "UPDATE KHACHTHUE SET TenKhachThue=?,NgaySinh=?,CMND=?,DiaChi=?,DienThoai=?,GioiTinh=?,MaLoaiKhachThue=?,MaPhieuThue=? WHERE  (MaKhachThue = ?)";
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    cmd.Parameters.Add("@TenKhachThue", OleDbType.WChar);
        //    cmd.Parameters.Add("@NgaySinh", OleDbType.Date);
        //    cmd.Parameters.Add("@CMND", OleDbType.WChar);
        //    cmd.Parameters.Add("@DiaChi", OleDbType.WChar);
        //    cmd.Parameters.Add("@DienThoai", OleDbType.WChar);
        //    cmd.Parameters.Add("@GioiTinh", OleDbType.WChar);
        //    cmd.Parameters.Add("@MaLoaiKhachThue", OleDbType.Integer);
        //    cmd.Parameters.Add("@MaPhieuThue", OleDbType.Integer);
        //    cmd.Parameters.Add("@MaKhachThue", OleDbType.Integer);
        //    cmd.Parameters[0].Value = khachthueDto.TenKhachThue;
        //    cmd.Parameters[1].Value = khachthueDto.NgaySinh;
        //    cmd.Parameters[2].Value = khachthueDto.CMND;
        //    cmd.Parameters[3].Value = khachthueDto.DiaChi;
        //    cmd.Parameters[4].Value = khachthueDto.DienThoai;
        //    cmd.Parameters[5].Value = khachthueDto.GioiTinh;
        //    cmd.Parameters[6].Value = khachthueDto.MaLoaiKhachThue;
        //    cmd.Parameters[7].Value = khachthueDto.MaPhieuThue;
        //    cmd.Parameters[8].Value = khachthueDto.MaKhachThue;
        //    cmd.ExecuteNonQuery();
        //    cn.Close();
        //}
        //Hàm cập nhật thong tin khách thuê đầy đủ
        //public void CapNhatThongTinKhachThue(CKHACHTHUEDTO khachthueDto)
        //{
        //    OleDbConnection cn;
        //    cn = CKHACHTHUEDAO.ConnectionData();
        //    String strSQL = "UPDATE KHACHTHUE SET TenKhachThue=?,NgaySinh=?,CMND=?,DiaChi=?,DienThoai=?,GioiTinh=?,TinhTrang=?,MaLoaiKhachThue=?,MaPhieuThue=? WHERE  (MaKhachThue = ?)";
        //    OleDbCommand cmd = new OleDbCommand(strSQL, cn);
        //    cmd.Parameters.Add("@TenKhachThue", OleDbType.WChar);
        //    cmd.Parameters.Add("@NgaySinh", OleDbType.Date);
        //    cmd.Parameters.Add("@CMND", OleDbType.WChar);
        //    cmd.Parameters.Add("@DiaChi", OleDbType.WChar);
        //    cmd.Parameters.Add("@DienThoai", OleDbType.WChar);
        //    cmd.Parameters.Add("@GioiTinh", OleDbType.WChar);
        //    cmd.Parameters.Add("@TinhTrang", OleDbType.Boolean);
        //    cmd.Parameters.Add("@MaLoaiKhachThue", OleDbType.Integer);
        //    cmd.Parameters.Add("@MaPhieuThue", OleDbType.Integer);
        //    cmd.Parameters.Add("@MaKhachThue", OleDbType.Integer);
        //    cmd.Parameters[0].Value = khachthueDto.TenKhachThue;
        //    cmd.Parameters[1].Value = khachthueDto.NgaySinh;
        //    cmd.Parameters[2].Value = khachthueDto.CMND;
        //    cmd.Parameters[3].Value = khachthueDto.DiaChi;
        //    cmd.Parameters[4].Value = khachthueDto.DienThoai;
        //    cmd.Parameters[5].Value = khachthueDto.GioiTinh;
        //    cmd.Parameters[6].Value = khachthueDto.TinhTrang;
        //    cmd.Parameters[7].Value = khachthueDto.MaLoaiKhachThue;
        //    cmd.Parameters[8].Value = khachthueDto.MaPhieuThue;
        //    cmd.Parameters[9].Value = khachthueDto.MaKhachThue;
        //    cmd.ExecuteNonQuery();
        //    cn.Close();
        //}
        //tirp tan
        public static int SoLuongKhachThueTrongPhieuThue(int maPhieuThue)
        {
            int soLuongKhachThue = 0;
            OleDbConnection cn = new OleDbConnection();
            cn = CKHACHTHUEDAO.ConnectionData();
            String strSQL = "Select count(*)From KHACHTHUE where MaPhieuThue = " + maPhieuThue;
            OleDbCommand cmd = new OleDbCommand(strSQL, cn);
            OleDbDataReader myReader = cmd.ExecuteReader();
            while (myReader.Read())
            {
                soLuongKhachThue = int.Parse(myReader[0].ToString());

            }
            myReader.Close();
            cn.Close();

            return soLuongKhachThue;
        }
        public static DataTable TraCuuKhachThuePhongTheoYeuCau(string tenLoaiKhach, string tenKhach, string CMND, string tenPhong, string sapXep, string thuTu)
        {
            DataTable dt = new DataTable();
            OleDbConnection cn;
            cn = CKHACHTHUEDAO.ConnectionData();
            string sql = "SELECT KHACHTHUE.*, LOAIKHACHTHUE.*, PHIEUTHUE.*, PHONG.* FROM (((KHACHTHUE INNER JOIN LOAIKHACHTHUE ON KHACHTHUE.MaLoaiKhachThue = LOAIKHACHTHUE.MaLoaiKhachThue) INNER JOIN PHIEUTHUE ON KHACHTHUE.MaPhieuThue = PHIEUTHUE.MaPhieuThue) INNER JOIN PHONG ON PHIEUTHUE.MaPhong = PHONG.MaPhong) where KHACHTHUE.TinhTrang=false and 1 ";
            if (tenKhach!="")
            {
                sql += " and KHACHTHUE.TenKhachThue like '%" + tenKhach + "%'";
            }
            if (tenLoaiKhach != "")
            {
                sql += " and LOAIKHACHTHUE.TenLoaiKhachThue like '%" + tenLoaiKhach + "%'";
            }
            if (CMND!= "")
            {
                sql += " and KHACHTHUE.CMND like '%" + CMND + "%'";
            }
            if (tenPhong != "")
            {
                sql += " and PHONG.TenPhong like '%" + tenPhong + "%'";
            }
            if (sapXep == "Tự động")
            {
                sql += " order by MaKhachThue";
            }
            if (sapXep == "Tên loại khách thuê")
            {
                sql += " order by LOAIKHACHTHUE.TenLoaiKhachThue";
            }
            if (sapXep == "Tên khách thuê")
            {
                sql += " order by KHACHTHUE.TenKhachThue";
            }
            if (sapXep == "CMND")
            {
                sql += " order by  KHACHTHUE.CMND";
            } 
            if (sapXep == "Tên phòng")
            {
                sql += " order by PHONG.TenPhong ";
            }                    
            if (thuTu == "Tăng")
            {
                sql += " asc ";
            }
            if (thuTu == "Giảm")
            {
                sql += " desc ";
            }
            OleDbDataAdapter da = new OleDbDataAdapter(sql, cn);
            da.Fill(dt);
            cn.Close();
            return dt;
        }
    }
}
